pp108 : Permitted Activities in a Transaction

Permitted Activities in a Transaction

This topic describes the activities that are permitted in a transaction.


You can use a short-lived process in the transaction of another business process model, that is, a short-lived process is called as a synchronous sub-process from the transaction of the main process. You can also include non-transactional activities within a group of transactional activities. For example, you can model a one-way notification that invokes a log Web service.

The following are the activities permitted in a transaction:

  • WS-AppServer Methods: By default, a WS-AppServer method participates in a transaction. If the Participate in Transaction check box is not selected and the methods are a part of the transaction, the activities to which these methods are attached, do not display transactional behavior and are just called as normal Web services. If the Participate in Transaction check box is selected, these methods are executed in a process (for short-lived and long-lived processes). These services should also point to the same database. For example, assume that a transaction has three activities - Activities A, B and, C, out of which Activities A and B participate in the transaction; in such case only Activities A and B, which are marked as Participate in Transaction behave as a part of the transaction. If an exception occurs during execution of Activity B, then Activity A is rolled back, but Activity C, although a part of the transaction, if it is not marked as Participate in Transaction, is executed as a normal Web service.
    In a short-lived process, the reply property in the input message for a WS-AppServer database insert/update/delete activity allows you to define whether a response is required for the SOAP request. If the reply property is set to no, the response message of this method is empty in the Message Map. By default, this property is set to yes.
  • External Web Services: You can define an external Web service as part of transaction. However, these services will not display transactional behavior. An example of a non-transactional external Web service is obtaining information about the weather from an external source.
  • Asynchronous Sub-processes containing Manual Activities: The process is executed independently and in parallel to another process. Only the asynchronous sub-process is triggered and will run outside the transaction.
  • Synchronous Sub-processes (where the sub-process is a short-lived process): In this case, the process waits for the response of the process that is executed before it. You must model the synchronous sub-process within the constraints of a transaction.
  • Manual Activities of Type 'Info': Manual activities of type 'Info' for example, notifications, can be included within a transaction.


The following are the activities that cannot be defined within a transaction:

  • Manual activities of type 'task'
  • Receive Messages
  • Delay Events
  • Synchronous sub-processes with manual tasks, Delay and Receive Message events
  • Nested transactions
  • Synchronous sub-processes that do not have the Participate in a Transaction property marked

Related tasks

Modeling a Transaction
Setting the Properties of a Transaction

Related reference

Properties of an Activity Within a Transaction
Transaction Construct Properties Interface

Related information

Process Execution Modes